don't expose your inner workings to the user